package chaoyue.study.thread;

/**
 * 线程中止
 * 类似于kill这个线程
 */
public class ThreadStop1 {
    public static void main(String[] args) throws Exception {
        Thread t = new Thread(() -> {
            System.out.println(Thread.currentThread().getName() + "---> begin");
            // 这里的异常只能抛出去，因为这里的run方法是重写的Runnable中的run方法
            // Runnable中的run方法并没有抛出异常
            // 子类不能比父类抛出更多的异常
            try {
                Thread.sleep(1000 * 60 * 60);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() + "---> end");
        });
        t.start();
        Thread.sleep(3000);
        // 中止线程 但是这个方法已经废弃了，现在会抛出UnsupportedOperationException
        // 容易丢失数据，相当于直接把线程kill了 线程没有保存的数据会丢失
        t.stop();
        System.out.println("main end...");
    }
}
